搜索 K
Appearance
博客正在加载中...
Appearance
JSON,全称 JavaScript Object Notation,译为 JavaScript 对象表示法,是一种非常常见的数据格式。
前面我们讨论了 XML 这种数据格式。XML 的特点是功能全面,但标签繁琐,格式复杂。在 Web 上使用 XML 现在越来越少,取而代之的是 JSON 这种数据结构。
JSON 去除了所有 JavaScript 执行代码,只保留 JavaScript 的对象格式。一个典型的 JSON 如下:
{
"id": 1,
"name": "Java核心技术",
"author": {
"firstName": "Abc",
"lastName": "Xyz"
},
"isbn": "1234567",
"tags": ["Java", "Network"]
}JSON 作为数据传输的格式,有几个显著的优点:
\ 转义,格式简单;因此,JSON 适合表示层次结构,因为它格式简单,仅支持以下几种数据类型:
{"key": value}[1, 2, 3]"abc"12.34true 或 falsenull浏览器直接支持使用 JavaScript 对 JSON 进行读写:
// JSON string to JavaScript object:
jsObj = JSON.parse(jsonStr);
// JavaScript object to JSON string:
jsonStr = JSON.stringify(jsObj);所以,开发 Web 应用的时候,使用 JSON 作为数据传输,在浏览器端非常方便。因为 JSON 天生适合 JavaScript 处理,所以,绝大多数 REST API 都选择 JSON 作为数据传输格式。
在 Java 中,针对 JSON 也有标准的 JSR 353 API,但是我们在前面讲 XML 的时候发现,如果能直接在 XML 和 JavaBean 之间互相转换是最好的。类似的,如果能直接在 JSON 和 JavaBean 之间转换,那么用起来就简单多了。
常用的用于解析 JSON 的第三方库有:
注意到上一节提到的那个可以解析 XML 的 Jackson 也可以解析 JSON!我们后续在学习 Servlet 的时候,再详细讲解。